Managing traffic over a network becomes increasingly difficult as more clients gain access to a content delivery network and more content is made available for access. Conventional techniques for managing network traffic typically use an application delivery controller (ADC), which is a network device that manages traffic. For example, the ADC controls how a client accesses files by distributing traffic among physically distributed sites (e.g., servers) based on application-specific criteria such as limiting a rate at which resources are accessible. The ADC manages access of resources by handling client requests for those resources. Mismanagement of client requests can cause backend servers to be overwhelmed or overused by clients. Conventional ADCs are memory and computationally intensive and are usually not scalable to accommodate growing numbers of clients and content. Therefore, there exists a need in the art for scalable and effective network traffic management.